package com.chatmcp.mcprouter.service;

import com.chatmcp.mcprouter.dto.ServerKeyDto;

import java.util.List;

/**
 * 服务器密钥服务接口
 */
public interface ServerKeyService {

    /**
     * 获取所有服务器密钥
     *
     * @return 服务器密钥列表
     */
    List<ServerKeyDto> getAllServerKeys();

    /**
     * 根据ID获取服务器密钥
     *
     * @param id 主键ID
     * @return 服务器密钥
     */
    ServerKeyDto getServerKeyById(Long id);

    /**
     * 根据键名获取服务器密钥
     *
     * @param key 键名
     * @return 服务器密钥
     */
    ServerKeyDto getServerKeyByKey(String key);

    /**
     * 根据服务器UUID获取服务器密钥
     *
     * @param serverUuid 服务器UUID
     * @return 服务器密钥
     */
    ServerKeyDto getServerKeyByServerUuid(String serverUuid);

    /**
     * 创建服务器密钥
     *
     * @param serverKeyDto 服务器密钥DTO
     * @return 创建后的服务器密钥
     */
    ServerKeyDto createServerKey(ServerKeyDto serverKeyDto);

    /**
     * 更新服务器密钥
     *
     * @param id 主键ID
     * @param serverKeyDto 服务器密钥DTO
     * @return 更新后的服务器密钥
     */
    ServerKeyDto updateServerKey(Long id, ServerKeyDto serverKeyDto);

    /**
     * 删除服务器密钥
     *
     * @param id 主键ID
     * @return 是否成功删除
     */
    boolean deleteServerKey(Long id);

    /**
     * 刷新服务器密钥
     *
     * @param id 主键ID
     * @return 刷新后的服务器密钥
     */
    ServerKeyDto refreshServerKey(Long id);
} 